package com.account.domains;

import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 还款计划表
 * </p>
 *
 * @author ganhuaicheng
 * @since 2017-09-19
 */
@TableName("local_repayplan_info")
public class LocalRepayplanInfo implements Serializable {

    private static final long serialVersionUID = 1L;

	/**
	 * 自增Id
	 */
	@TableId(type = IdType.AUTO)
	private Long id;

	/**
	 * 项目id
	 */
	@TableField(value="pro_id")
	private Long proId;

	/**
	 * 项目编号
	 */
	@TableField(value="pro_code")
	private String proCode;

	/**
	 * 资金渠道
	 */
	@TableField(value="fund_channel")
	private Integer fundChannel;

	/**
	 * 平台ID
	 */
	@TableField(value="platform_id")
	private String platformId;

	/**
	 * 承租人=客户id
	 */
	@TableField(value="cust_id")
	private Long custId;

	/**
	 * 承租人姓名
	 */
	@TableField(value="cust_name")
	private String custName;

	/**
	 * 证件类型（1：身份证）
	 */
	@TableField(value="cust_type")
	private Integer custType;

	/**
	 * 证件号码
	 */
	@TableField(value="cust_card")
	private String custCard;

	/**
	 * 开户姓名
	 */
	@TableField(value="bank_cust_name")
	private String bankCustName;

	/**
	 * 银行卡号
	 */
	@TableField(value="bank_card")
	private String bankCard;

	/**
	 * 银行名
	 */
	@TableField(value="bank_name")
	private String bankName;

	/**
	 * 当前期号
	 */
	private Integer term;

	/**
	 * 应还日期
	 */
	@TableField(value="plan_date")
	private Date planDate;

	/**
	 * 应还租金(单位:分)
	 */
	@TableField(value="plan_amt")
	private BigDecimal planAmt;

	/**
	 * 应还本金(单位:分)
	 */
	@TableField(value="plan_prin")
	private BigDecimal planPrin;

	/**
	 * 应还利息(单位:分)
	 */
	@TableField(value="plan_interest")
	private BigDecimal planInterest;

	/**
	 * 应还罚息(单位:分)
	 */
	@TableField(value="plan_penalty")
	private BigDecimal planPenalty;

	/**
	 * 应还违约金(单位:分)
	 */
	@TableField(value="plan_damages")
	private BigDecimal planDamages;

	/**
	 * 应收gps费用(单位:分)
	 */
	private BigDecimal gpscost;

	/**
	 * 应收延保费(单位:分)
	 */
	private BigDecimal extendedwarranty;

	/**
	 * 应收手续费(单位:分)
	 */
	private BigDecimal poundage;

	/**
	 * 实还日期
	 */
	@TableField(value="actual_date")
	private Date actualDate;

	/**
	 * 实还金额(单位:分)
	 */
	@TableField(value="actual_amt")
	private BigDecimal actualAmt;

	/**
	 * 实还本金(单位:分)
	 */
	@TableField(value="actual_prin")
	private BigDecimal actualPrin;

	/**
	 * 实还利息(单位:分)
	 */
	@TableField(value="actual_interest")
	private BigDecimal actualInterest;

	/**
	 * 实还罚息(单位:分)
	 */
	@TableField(value="actual_penalty")
	private BigDecimal actualPenalty;

	/**
	 * 实还违约金(单位:分)
	 */
	@TableField(value="actual_damages")
	private BigDecimal actualDamages;

	/**
	 * 减免罚息(单位:分)
	 */
	@TableField(value="waiver_penalty")
	private BigDecimal waiverPenalty;

	/**
	 * 减免违约金(单位:分)
	 */
	@TableField(value="waiver_damages")
	private BigDecimal waiverDamages;

	/**
	 * 实收延保费(单位:分)
	 */
	@TableField(value="actua_extended_warranty")
	private BigDecimal actuaExtendedWarranty;

	/**
	 * 实收手续费(单位:分)
	 */
	@TableField(value="actua_poundage")
	private BigDecimal actuaPoundage;

	/**
	 * 逾期天数
	 */
	@TableField(value="due_days")
	private Integer dueDays;

	/**
	 * 罚息天数
	 */
	@TableField(value="penalty_days")
	private Integer penaltyDays;

	/**
	 * 还款平台（默认：0；1：连连）
	 */
	@TableField(value="pay_platform")
	private Integer payPlatform;

	/**
	 * 代扣银行号
	 */
	@TableField(value="pay_bank_code")
	private String payBankCode;

	/**
	 * 还款worker扫描标志(0：未执行 1：执行中；2：已执行)
	 */
	@TableField(value="repay_flag")
	private Integer repayFlag;

	/**
	 * 任务执行时间
	 */
	@TableField(value="chedule_date")
	private Date cheduleDate;

	/**
	 * 生成租金、罚息、违约金流水
	 */
	@TableField(value="asyn_flow_flag")
	private Integer asynFlowFlag;

	/**
	 * 逻辑删除标记  0：删除 1：有效
	 */
	private Integer yn;

	/**
	 * 创建时间
	 */
	@TableField(value="create_time")
	private Date createTime;

	/**
	 * 创建人
	 */
	@TableField(value="create_user")
	private String createUser;

	/**
	 * 修改时间
	 */
	@TableField(value="update_time")
	private Date updateTime;

	/**
	 * 修改人
	 */
	@TableField(value="update_user")
	private String updateUser;

	/**
	 * 时间戳
	 */
	private Date ts;



	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getProId() {
		return proId;
	}

	public void setProId(Long proId) {
		this.proId = proId;
	}

	public String getProCode() {
		return proCode;
	}

	public void setProCode(String proCode) {
		this.proCode = proCode;
	}

	public Integer getFundChannel() {
		return fundChannel;
	}

	public void setFundChannel(Integer fundChannel) {
		this.fundChannel = fundChannel;
	}

	public String getPlatformId() {
		return platformId;
	}

	public void setPlatformId(String platformId) {
		this.platformId = platformId;
	}

	public Long getCustId() {
		return custId;
	}

	public void setCustId(Long custId) {
		this.custId = custId;
	}

	public String getCustName() {
		return custName;
	}

	public void setCustName(String custName) {
		this.custName = custName;
	}

	public Integer getCustType() {
		return custType;
	}

	public void setCustType(Integer custType) {
		this.custType = custType;
	}

	public String getCustCard() {
		return custCard;
	}

	public void setCustCard(String custCard) {
		this.custCard = custCard;
	}

	public String getBankCustName() {
		return bankCustName;
	}

	public void setBankCustName(String bankCustName) {
		this.bankCustName = bankCustName;
	}

	public String getBankCard() {
		return bankCard;
	}

	public void setBankCard(String bankCard) {
		this.bankCard = bankCard;
	}

	public String getBankName() {
		return bankName;
	}

	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	public Integer getTerm() {
		return term;
	}

	public void setTerm(Integer term) {
		this.term = term;
	}

	public Date getPlanDate() {
		return planDate;
	}

	public void setPlanDate(Date planDate) {
		this.planDate = planDate;
	}

	public BigDecimal getPlanAmt() {
		return planAmt;
	}

	public void setPlanAmt(BigDecimal planAmt) {
		this.planAmt = planAmt;
	}

	public BigDecimal getPlanPrin() {
		return planPrin;
	}

	public void setPlanPrin(BigDecimal planPrin) {
		this.planPrin = planPrin;
	}

	public BigDecimal getPlanInterest() {
		return planInterest;
	}

	public void setPlanInterest(BigDecimal planInterest) {
		this.planInterest = planInterest;
	}

	public BigDecimal getPlanPenalty() {
		return planPenalty;
	}

	public void setPlanPenalty(BigDecimal planPenalty) {
		this.planPenalty = planPenalty;
	}

	public BigDecimal getPlanDamages() {
		return planDamages;
	}

	public void setPlanDamages(BigDecimal planDamages) {
		this.planDamages = planDamages;
	}

	public BigDecimal getGpscost() {
		return gpscost;
	}

	public void setGpscost(BigDecimal gpscost) {
		this.gpscost = gpscost;
	}

	public BigDecimal getExtendedwarranty() {
		return extendedwarranty;
	}

	public void setExtendedwarranty(BigDecimal extendedwarranty) {
		this.extendedwarranty = extendedwarranty;
	}

	public BigDecimal getPoundage() {
		return poundage;
	}

	public void setPoundage(BigDecimal poundage) {
		this.poundage = poundage;
	}

	public Date getActualDate() {
		return actualDate;
	}

	public void setActualDate(Date actualDate) {
		this.actualDate = actualDate;
	}

	public BigDecimal getActualAmt() {
		return actualAmt;
	}

	public void setActualAmt(BigDecimal actualAmt) {
		this.actualAmt = actualAmt;
	}

	public BigDecimal getActualPrin() {
		return actualPrin;
	}

	public void setActualPrin(BigDecimal actualPrin) {
		this.actualPrin = actualPrin;
	}

	public BigDecimal getActualInterest() {
		return actualInterest;
	}

	public void setActualInterest(BigDecimal actualInterest) {
		this.actualInterest = actualInterest;
	}

	public BigDecimal getActualPenalty() {
		return actualPenalty;
	}

	public void setActualPenalty(BigDecimal actualPenalty) {
		this.actualPenalty = actualPenalty;
	}

	public BigDecimal getActualDamages() {
		return actualDamages;
	}

	public void setActualDamages(BigDecimal actualDamages) {
		this.actualDamages = actualDamages;
	}

	public BigDecimal getWaiverPenalty() {
		return waiverPenalty;
	}

	public void setWaiverPenalty(BigDecimal waiverPenalty) {
		this.waiverPenalty = waiverPenalty;
	}

	public BigDecimal getWaiverDamages() {
		return waiverDamages;
	}

	public void setWaiverDamages(BigDecimal waiverDamages) {
		this.waiverDamages = waiverDamages;
	}

	public BigDecimal getActuaExtendedWarranty() {
		return actuaExtendedWarranty;
	}

	public void setActuaExtendedWarranty(BigDecimal actuaExtendedWarranty) {
		this.actuaExtendedWarranty = actuaExtendedWarranty;
	}

	public BigDecimal getActuaPoundage() {
		return actuaPoundage;
	}

	public void setActuaPoundage(BigDecimal actuaPoundage) {
		this.actuaPoundage = actuaPoundage;
	}

	public Integer getDueDays() {
		return dueDays;
	}

	public void setDueDays(Integer dueDays) {
		this.dueDays = dueDays;
	}

	public Integer getPenaltyDays() {
		return penaltyDays;
	}

	public void setPenaltyDays(Integer penaltyDays) {
		this.penaltyDays = penaltyDays;
	}

	public Integer getPayPlatform() {
		return payPlatform;
	}

	public void setPayPlatform(Integer payPlatform) {
		this.payPlatform = payPlatform;
	}

	public String getPayBankCode() {
		return payBankCode;
	}

	public void setPayBankCode(String payBankCode) {
		this.payBankCode = payBankCode;
	}

	public Integer getRepayFlag() {
		return repayFlag;
	}

	public void setRepayFlag(Integer repayFlag) {
		this.repayFlag = repayFlag;
	}

	public Date getCheduleDate() {
		return cheduleDate;
	}

	public void setCheduleDate(Date cheduleDate) {
		this.cheduleDate = cheduleDate;
	}

	public Integer getAsynFlowFlag() {
		return asynFlowFlag;
	}

	public void setAsynFlowFlag(Integer asynFlowFlag) {
		this.asynFlowFlag = asynFlowFlag;
	}

	public Integer getYn() {
		return yn;
	}

	public void setYn(Integer yn) {
		this.yn = yn;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getUpdateUser() {
		return updateUser;
	}

	public void setUpdateUser(String updateUser) {
		this.updateUser = updateUser;
	}

	public Date getTs() {
		return ts;
	}

	public void setTs(Date ts) {
		this.ts = ts;
	}

}
